// map.js
import Dialog from '@vant/weapp/dialog/dialog';
import qqmap from '../../../utils/qqmap'
Page({
  data: {
    id: '',
    latitude: 40.060539,
    longitude: 116.343847,
    info: '',
    markers: [
      // 中粮（起点）
      {
        id: 1,
        latitude: 22.576148,
        longitude: 113.923858,
        width: 24,
        height: 30,
      },
      // 兴东地铁站(维修人员的点)
      {
        id: 2,
        latitude: 22.581755,
        longitude: 113.91894,
        iconPath: '/static/images/marker.png',
        width: 40,
        height: 40,
      },
      // 创维工业园（终点）
      {
        id: 3,
        latitude: 22.641614,
        longitude: 113.920672,
        width: 24,
        height: 30,
      }
    ],
    polyline: []
  },
  onLoad({
    id
  }) {
    this.setData({
      id
    })
    this.getData()
    this.drawLine()
  },
  // 根据id获取详情
  async getData() {
    const res = await wx.http.get(`/repair/${this.data.id}`)
    this.setData({
      info: res.data
    })
    console.log('详情', res);
  },
  // 取消点击事件
  async cancelEvent() {
    await Dialog.confirm({
      title: '提示',
      message: '您确认取消该报修吗?',
    })
    // 取消接口调用
    await wx.http.put(`/cancel/repaire/${this.data.id}`)
    this.setData({
      "info.status": 0
    })
    // this.getData()

  },
  // 修改按钮点击
  editEvent() {
    wx.navigateTo({
      url: '../form/index?id=' + this.data.id,
    })
  },
  // 地图处理：1：显示三个点：起点，终点，上门人员所在点  2：画出起点到终点线路图（包含上门人员的点）
  drawLine() {
    qqmap.direction({
      mode: 'driving', //可选值：'driving'（驾车）、'walking'（步行）、'bicycling'（骑行），不填默认：'driving',可不填
      // from起点
      from: this.data.markers[0],
      // to:终点
      to: this.data.markers[2],
      // 途经点:
      waypoints: `${this.data.markers[1].latitude},${this.data.markers[1].longitude}`,
      success: (res) => {

        console.log(res);
        var ret = res;
        var coors = ret.result.routes[0].polyline,
          pl = [];
        //坐标解压（返回的点串坐标，通过前向差分进行压缩）
        var kr = 1000000;
        for (var i = 2; i < coors.length; i++) {
          coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr;
        }
        //将解压后的坐标放入点串数组pl中
        for (var i = 0; i < coors.length; i += 2) {
          pl.push({
            latitude: coors[i],
            longitude: coors[i + 1]
          })
        }
        console.log(pl)
        this.setData({
          polyline: [{
            points: pl,
            color: '#FF0000DD',
            width: 4
          }]
        })
      }

    })
  }
})